The present invention relates to method and apparatus for the storage, accessing and processing of character-representing information, and especially to an improved data storage, accessing and processing system for storing in a memory bits of character-representing information and for accessing them when it is desired to use such information to control a character-forming device, e.g. a cathode-ray tube or laser.
The invention, in the interest of definiteness, will be described with particular reference to its use in an electronic printer of the type shown and described in copending U.S. patent application Ser. No. 307,499 of J. M. Beisty et al, entitled Electrostatic Printer Drum Improvements, and filed Oct. 1, 1981, now U.S. Pat. No. 4,400,083, issued Aug. 23, 1983. This printer is of a type in which successive lines or "slices" through the characters to be printed are displayed one at a time upon the screen of a cathode-ray tube, and a drum carrying an electrostatically-charged light-sensitive sheet or web is rotated past the cathode-ray tube screen so that latent images of the line scans on the cathode-ray tube are successively formed adjacent and partially overlapping each other on the light-sensitive sheet to represent successive slices through the characters to be printed. As further described in the above-cited copending application, a suitable toner is applied to the light-sensitive sheet after it rotates past the cathode-ray tube screen, in such manner that the toner remains on the sheet only in the areas of the latent image. As the drum rotates further, the toner, which now depicts the desired characters, is transferred from the sheet to the printing paper to accomplish the final printing on the paper as the paper is moved past the rotating drum. Subsequently in its rotation, the sheet is cleaned of toner and electrostatically recharged to reinitiate the cycle. The present invention is concerned primarily with the electronic system used in such apparatus to form the successive linear slices of the characters upon the CRT screen, in response to stored binary digital information as to what it is desired to print.
In such systems, each slice through a character is represented by a group of data bits representative of the appropriate successive intensities of the cathode-ray tube (CRT) beam as it sweeps across the CRT screen in the area in which the character is to appear. For convenience and economy, these data bits are normally accessed and processed in bytes each made up of a predetermined number of data bits. For example, if 24 bits are used to represent each character slice, they may be grouped for processing into three 8-bit bytes, 8 bits being the usual byte size in digital data processing circuits.
In a rudimentary electronic printer, all characters may be allotted the same width and height of character space to accommodate the character and its spacing from adjacent character spaces. In such case the number of bits per character slice, i.e. the bit-width of the character space, will be constant, and can be selected to comprise an integral number of 8-bit bytes for all characters. However, such a printer is so lacking in versatility and sophistication as to be of little interest for many commercial purposes. A basic problem with such an arrangement is that if one allots a single uniform character space to all characters, such character space must be large enough to accommodate the maximum character size and spacing; in this event, the character space will be too great for other character sizes and spacings which one desires to use.
For example, one may want to provide for the printing of the same alphanumeric characters in different styles and sizes, and with different spacings between them; if the same size of character space is used for all characters, the inter-character space will be too small for large characters and/or too large for small characters. Similarly, even within a font of characters having the same style, it is often desirable to provide proportional spacing, i.e. to provide a lesser cell width for narrow characters, such as the apostrophe, than for a wide character, such as an M.
Furthermore, in general, the width of the character space allotted to a given character may differ from the height of character space allotted to that character, and yet it may be desirable at different times to print the character either in its normal erect position or in what amounts to a position in which it lies on its side. This arises from the desirability of being able to print the material in one case so it reads along the narrow dimension of a page and in another case so it reads along the long dimension, without having to turn the printing paper between positions at right angles to each other. In the system to be described, when the page is to have the lines of print readable across the width of the paper, the line scanning which forms the slices of the characters is along the direction in which one reads the characters; however, when the printing is to be oriented at right angles, so that it is read along the length of the page, the line scans and slices are at right angles to the direction of visual reading of the characters, that is, the line scans are in effect still along the width dimension of the paper even though the reading sequence of the characters is along the length dimension of the paper. Since the character spaces are in general not square, the number of bits in a character slice will be different depending on whether scanning is along, or at right angles to, the direction of normal reading of the rows of characters.
The foregoing are merely examples of situations in which it is desirable for the widths of the individual character cells along the direction of the character slice to differ among themselves, so that the number of bits of information scanned, per single slice through a character in storage, generally differs correspondingly. However, it has been found that when character slices of differing bit widths are used, the dividing of the bit information per slice into bytes of uniform bit number, e.g. 8 bits, results in substantial drawbacks, particularly in terms of the expense and complications of the equipment needed to do so. This is because, in general, the number of bits per character slice is not always an even number of bytes, i.e. the number of bits is not an integral multiple of 8. As a result, in a conventionally organized memory and access system storing the slice information in 8-bit bytes, there could be as few as 1 or as many as 7 extra bits left over after the bits representing a slice have been divided into an integral number of bytes. With such an arrangement, the equipment must accommodate not only the handling of an integral number of 8-bit bytes, but will also have to handle the extra bits, for example 2 bits, 4 bits or 6 bits left over after an integral number of 8-bit bytes have been stored, complicating the equipment substantially. Furthermore, where the number of extra bits is low, e.g. 2 bits, successive accesses and read-outs must be had from the character storage memory within the time of a very few bits, and while in general this is theoretically possible to accomplish, it requires considerably more expensive equipment than if, for example, the minimum time for access and read-out were larger, e.g. 6 bit-times, or at least 4 bit-times.
Accordingly, it is an object of the invention to provide a new and useful method and apparatus for the storage and accessing of character-representing information.
Another object is to provide such method and apparatus which overcomes or mitigates the drawbacks inherent in storing, accessing and processing information in the form of bytes containing a uniform number of significant bits plus, in some cases, a small number of extra bits.
It is also an object of the invention to provide such method and apparatus which overcomes or mitigates the drawbacks associated with the storage, accessing and processing of bit information in bytes of constant significant bit content plus extra bits in varying numbers.
A further object is to provide a new and useful electronic printer employing a new character-slice system, and a new accessing and processing system for use therewith.